package com.glodon.paas.monitor.server.exposed.facade;

import java.util.ArrayList;
import java.util.List;

import com.glodon.paas.monitor.server.biz.domain.MonitorApplicationEntity;
import com.glodon.paas.monitor.server.biz.domain.MonitorUserEntity;
import com.glodon.paas.monitor.server.dto.MonitorApplicationUserDTO;
import com.glodon.paas.monitor.server.dto.MonitorResultMsg;

/**
 * 应用、用户统一处理类
 * 
 * @author achun 2013-2-19 下午1:38:00
 */
public interface MonitorAppUserFacadeService {

	public MonitorResultMsg<ArrayList<MonitorApplicationEntity>> queryMonitorApplication(MonitorApplicationEntity entity);

	public MonitorResultMsg<MonitorApplicationUserDTO> findMonitorApplicationUser(Long appId);

	public MonitorResultMsg<MonitorApplicationEntity> saveMonitorApplicationUser(
			MonitorApplicationEntity monitorApplication, List<String> userIdList);

	public MonitorResultMsg<MonitorApplicationEntity> updateMonitorApplicationUser(
			MonitorApplicationEntity monitorApplication, List<String> userIdList);

	public MonitorResultMsg<Boolean> deleteMonitorApplicationUser(Long appId);

	public MonitorResultMsg<MonitorApplicationEntity> changeMonitorAppStatus(Long appId, String appStatus);

	public MonitorResultMsg<MonitorUserEntity> findMonitorUser(Long id);

	public MonitorResultMsg<ArrayList<MonitorUserEntity>> queryMonitorUser(MonitorUserEntity entity);

	public MonitorResultMsg<MonitorUserEntity> saveMonitorUser(MonitorUserEntity entity);

	public MonitorResultMsg<MonitorUserEntity> updateMonitorUser(MonitorUserEntity entity);

	public MonitorResultMsg<Boolean> deleteMonitorUser(Long userId);

	public MonitorResultMsg<MonitorUserEntity> loginByUserNameAndPassword(String userName, String password);

}
